This is more horrible than I had realized
authorMatthias Clasen <mclasen@redhat.com>
Sat, 9 Jul 2011 03:20:06 +0000 (23:20 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 9 Jul 2011 03:20:06 +0000 (23:20 -0400)
Due to tragic misunderstandings at the birth of ATK, AtkUtil
can't actually be properly derived. Instead, each implementation
has to poke its vfuncs directly into the AtkUtilClass struct.

So painful to have shipped this stuff for 10 years...

gtk/a11y/gailutil.c

index c84a80bd14bb523967234137386fabcbcf67ca51..e19ba8211f19df57e3f862bc1e64271ed3764234 100644 (file)
@@ -514,7 +514,11 @@ configure_event_watcher (GSignalInvocationHint *hint,
 static void
 gail_util_class_init (GailUtilClass *klass)
 {
-  AtkUtilClass *atk_class = ATK_UTIL_CLASS (klass);
+  AtkUtilClass *atk_class;
+  gpointer data;
+
+  data = g_type_class_peek (ATK_TYPE_UTIL);
+  atk_class = ATK_UTIL_CLASS (data);
 
   atk_class->add_global_event_listener = gail_util_add_global_event_listener;
   atk_class->remove_global_event_listener = gail_util_remove_global_event_listener;